Long Lifespan Wireless Sensors And Sensor Network

ABSTRACT

Methods, systems, and apparatuses for managing sensor information are disclosed. An example apparatus can comprise a power unit configured to collect energy, a sensor unit configured to receive sensor data from a sensor, a memory unit configured to store the sensor data, a communication unit configured to wirelessly broadcast the sensor data to one or more sensor nodes in a network of sensor nodes, and a processing unit. The processing unit can be configured to operate at least one of the sensor unit, the memory unit, and the communication unit after the energy collected in the power unit reaches a threshold value.

CROSS REFERENCE TO RELATED PATENT APPLICATION

This application is a Continuation of U.S. application Ser. No.13/891,894 filed May 10, 2013, which claims priority to U.S. ProvisionalApplication No. 61/645,356 filed May 10, 2012, herein incorporated byreference in their entirety.

SUMMARY

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the subject disclosure. Provided are methods,systems, and apparatuses for sensor management. An example apparatus cancomprise a power unit configured to collect energy, a sensor unitconfigured to receive sensor data from a sensor, a memory unitconfigured to store the sensor data, a communication unit configured towirelessly broadcast the sensor data to one or more sensor nodes in anetwork of sensor nodes, and a processing unit. The processing unit canbe configured to operate at least one of the sensor unit, the memoryunit, and the communication unit after the energy collected in the powerunit reaches a threshold value.

In one aspect, an exemplary method can comprise collecting energy in anenergy storage unit. Sensor data can be received from a sensor. Thesensor data can be stored in non-volatile memory. The sensor data can bebroadcast for detection by a sensor node in a network of sensor nodes.Additional sensor data can be received from the sensor node.

In another aspect, an exemplary method can comprise providing ageographically distributed network of sensor nodes. At least one of thesensor nodes can comprise a wireless transceiver, a power unitconfigured to collect energy, and a sensor. Energy can be collected atthe sensor nodes. Sensor data can be detected at the sensor nodes. Thesensor data can be communicated among at least a portion of the sensornodes. The sensor data can be received from at least one of the sensornodes.

Additional aspects, features, or advantages of the subject disclosurewill be set forth in part in the description which follows, and in partwill be obvious from the description, or may be learned by practice ofthe subject disclosure. The advantages of the subject disclosure will berealized and attained by means of the elements and combinationsparticularly pointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are incorporated and illustrate exemplaryembodiment(s) of the subject disclosure and together with thedescription and claims appended hereto serve to explain variousprinciples, features, or aspects of the subject disclosure:

FIG. 1 illustrates a block diagram of an example embodiment of a sensornode in accordance with one or more aspects described herein:

FIG. 2A is a diagram illustrating an example memory of an exemplarysensor node;

FIG. 2B is a diagram illustrating an example radio unit of an exemplarysensor node;

FIG. 2C is a diagram illustrating an example power unit of an exemplarysensor node;

FIG. 2D is a diagram illustrating example sensors of an exemplary sensornode;

FIG. 2E is a diagram illustrating an example processing unit of anexemplary sensor node:

FIG. 3A is a diagram illustrating an example application scenario of asensor network;

FIG. 3B is a diagram further illustrating an example applicationscenario of a sensor network;

FIG. 3C is a diagram further illustrating an example applicationscenario of a sensor network:

FIG. 4 is a flowchart illustrating an exemplary method for managingsensor information;

FIG. 5 is a flowchart illustrating an exemplary method for managing asensor network:

FIG. 6A is a flowchart illustrating an exemplary method in accordancewith one or more aspects described herein;

FIG. 6B is a flowchart further illustrating an exemplar) method inaccordance with one or more aspects described herein; and

FIG. 7 is a flowchart illustrating another exemplary method inaccordance with one or more aspects described herein.

DETAILED DESCRIPTION

The disclosure may be understood more readily by reference to thefollowing detailed description of exemplary embodiments of the subjectdisclosure and to the figures and their previous and followingdescription.

Before the present compounds, compositions, articles, systems, devices,and/or methods are disclosed and described, it is to be understood thatthe subject disclosure is not limited to specific systems and methodsfor long lifespan wireless sensors and sensor network formed with suchsensors. It is also to be understood that the terminology used herein isfor the purpose of describing particular embodiments only and is notintended to be limiting.

As used in the specification and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise

Ranges may be expressed herein as from “about” one particular value,and/or to “about” another particular value. When such a range isexpressed, another embodiment includes from the one particular valueand/or to the other particular value. Similarly, when values areexpressed as approximations, by use of the antecedent “about,” it willbe understood that the particular value forms another embodiment. Itwill be further understood that the endpoints of each of the ranges aresignificant both in relation to the other endpoint, and independently ofthe other endpoint.

Disclosed are components that can be used to perform the disclosedmethods and systems. These and other components are disclosed herein,and it is understood that when combinations, subsets, interactions,groups, etc. of these components are disclosed that while specificreference of each various individual and collective combinations andpermutation of these may not be explicitly disclosed, each isspecifically contemplated and described herein, for all methods andsystems. This applies to all aspects of this application including, butnot limited to, steps in disclosed methods. Thus, if there are a varietyof additional steps that can be performed it is understood that each ofthese additional steps can be performed with any specific embodiment orcombination of embodiments of the disclosed methods.

The methods and systems may take the form of an entirely hardwareembodiment, an entirely software embodiment, or an embodiment combiningsoftware and hardware aspects. Furthermore, the methods and systems maytake the form of a computer program product on a computer-readablestorage medium having computer-readable program instructions (e.g.,computer software) embodied in the storage medium. More particularly,the present methods and systems may take the form of web-implementedcomputer software. Any suitable computer-readable storage medium may beutilized including hard disks, CD-ROMs, optical storage devices, ormagnetic storage devices.

Embodiments of the methods and systems are described below withreference to block diagrams and flowchart illustrations of methods,systems, apparatuses and computer program products. It will beunderstood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, respectively, can be implemented by computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create a means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including computer-readableinstructions for implementing the function specified in the flowchartblock or blocks. The computer program instructions may also be loadedonto a computing device or other programmable data processing apparatusto cause a series of operational steps to be performed on the computeror other programmable apparatus to produce a computer-implementedprocess such that the instructions that execute on the computing deviceor other programmable apparatus provide steps for implementing thefunctions specified in the flowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computing devices (e.g., processing unit 122, controlunit 126, and/or transceiver unit 120) that perform the specifiedfunctions or steps, or combinations of special purpose hardware andcomputer instructions.

In the subject specification and in the claims which follow, referencemay be made to a number of terms which shall be defined to have thefollowing meanings: “Optional” or “optionally” means that thesubsequently described event or circumstance may or may not occur, andthat the description includes instances where said event or circumstanceoccurs and instances where it does not.

As employed in this specification and annexed drawings, the terms“unit,” “component,” “interface,” “system.” “platform,” “node,” and thelike are intended to include a computer-related entity or an entityrelated to an operational apparatus with one or more specificfunctionalities, wherein the computer-related entity or the entityrelated to the operational apparatus can be either hardware, acombination of hardware and software, software, or software inexecution. One or more of such entities are also referred to as“functional elements.” As an example, a unit may be, but is not limitedto being, a process running on a processor, a processor, an object, anexecutable computer program, a thread of execution, a program, a memory(e.g., a hard disc drive), and/or a computer. As another example, a unitcan be an apparatus with specific functionality provided by mechanicalparts operated by electric or electronic circuitry which is operated bya software or a firmware application executed by a processor, whereinthe processor can be internal or extemal to the apparatus and executesat least a part of the software or firmware application. In addition orin the alternative, a unit can provide specific functionality based onphysical structure or specific arrangement of hardware elements. As yetanother example, a unit can be an apparatus that provides specificfunctionality through electronic functional elements without mechanicalparts, the electronic functional elements can include a processortherein to execute software or firmware that provides at least in partthe functionality of the electronic functional elements. An illustrationof such apparatus can be control circuitry, such as a programmable logiccontroller. The foregoing example and related illustrations are but afew examples and are not intended to be limiting. Moreover, while suchillustrations are presented for a unit, the foregoing examples alsoapply to a component, a system, a platform, and the like. It is notedthat in certain embodiments, or in connection with certain aspects orfeatures thereof, the terms “unit,” “component,” “system,” “interface,”“platform,” and “node” can be utilized interchangeably.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other additives, components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal embodiment. “Such as” is not used ina restrictive sense, but for explanatory purposes.

Reference will now be made in detail to the various embodiment(s),aspects, and features of the disclosure, example(s) of which areillustrated in the accompanying drawings. Wherever possible, the samereference numbers are used throughout the drawings to refer to the sameor like parts.

As described in greater detail below, the disclosure relates, in oneaspect, to wireless devices suitable for forming a sensor networkdeployed in operational environments with unreliable energy supply. Inone aspect, the wireless devices have long lifespan. In certainembodiments, the sensor network comprises a plurality of sensor nodes,each sensor node comprising a wireless device and a sensor functionallycoupled (e.g., attached or integrated) to the device. The sensor cancollect information (digital data, analog data (e.g., modulated analogsignals), etc.) from a specific environment and can transmit at least aportion of the information to the wireless device. The wireless devicecan receive such information and, based at least on one or morecommunication criteria, transmit available information (e.g., dataretained in memory) to another device. To transmit information,depending on implementation, the device can broadcast the information,multicast the information, or unicast the information. In one aspect,the wireless device can transmit and/or receive signaling, such as pilotsignals and control signals that can permit power management and/or datamanagement. In another aspect, exchange of signaling with other wirelessdevice(s) can enable self-healing information integrity.

Various embodiments of the disclosure can provide one or more advantageswhen compared to conventional wireless technologies for sensor networknodes. One exemplary advantage can include operation for extendedperiods (e.g., years or decades) with an intermittent and unreliableenergy supply, and without having batteries or any other componentsreplaced for the lifespan of the sensor. Another advantage can includethe removal of environmentally hazardous materials (e.g. battery acid)from power units (or power sources) that energize conventional devices.Another exemplary advantage can include power management based on poweravailable in an operational environment of a wireless node as describedherein. Yet another exemplary advantage can include self-healinginformation integrity, which permits information propagation andavailability throughout a portion or the entirety of a network formedwith a plurality of wireless nodes as described herein.

FIG. 1 illustrates a block diagram of an example embodiment of a sensornode 100 in accordance with one or more aspects described herein. Asillustrated, the sensor node 100 comprises a device 110 functionallycoupled to one or more sensors 140 via a sensor unit 115 configured toreceive sensor data from one or more sensors. For example, the sensorunit 115 can comprise a link such as a wired link (e.g., optical fiber,coaxial cable, HDMI cable, Universal Serial Bus (USB) cable, or thelike) or a wireless link (e.g., satellite, radio wave, or the like). Incertain embodiments, the sensor 140 can be integrated to the wirelessdevice. In certain embodiments, networks comprising a plurality ofsensor nodes having the functionality and architecture of the sensornode 100 can be formed and deployed. In one aspect, the sensor node 100can embody an apparatus for collection and communication of information(e.g., data, metadata, signaling). The apparatus can be suitable foroperation in an operational environment having unreliable energy supply.

The one or more sensor(s) 140 can collect one or more types ofinformation (e.g., temperature, pressure, speed, photon count, moisturelevel, presence or absence of chemical species, or the like) and cansupply at least a portion of such information in one or more formats,e.g., digital or analog. This can permit a sensor network comprising asensor node 100 to distribute data from nearly any source. Examples ofsensor(s) 140 include accelerometers (e.g., for measuring tilt of apole, beam, or similar structure); amplified microphones (e.g.,microcontroller performs Fast Fourier Transform (FFT) to analyze signalamplitudes at key frequencies to detect pipe leaks; the microphone canbe sealed and can be buried with the pipe or mounted to a platform orhydrant); temperature gauge; color sensors (e.g., for probingvegetation/green-up); distance sensors; moisture sensors (e.g.,including flood detection functionality); penetration sensors (e.g.,which can be mounted to signage to detect projectile disruptions); orthe like.

In one aspect, the sensor node 100 can be configured to identify one ormore conditions based on the sensor data. For example, the sensor node100 (e.g., the processing unit 122) can be configured to determine atleast one of a flood condition based on sensor data from the moisturesensor, a structure tilt based on sensor data from the accelerometer,vegetation growth based on sensor data from the color sensor, and a pipeleak based on sensor data from the microphone, and the like. As anillustration, the processing unit 122 can comprise a microcontrollerconfigured to perform analysis on acquired sensor data. The analysis cancomprise acquiring data (e.g., either from a digital or analog source)and normalizing, calibrating, converting, or otherwise manipulating thatdata. For instance, a color measurement might be calibrated and thenmapped to a brown-green color spectrum to determine how healthyvegetation. In another aspect, the analysis using audio data to performleak detection can comprise using the processing unit 122 to collect aseries of time-separated audio (e.g., pressure) measurements. Then atransform can be applied to this audio data to determine the intensityof audio at specified harmonics. In this way, a large collection oftime-varying measurements can be distilled into a handful of usefulvalues (e.g., the intensity at 50, 100, 200, 400, and 800 Hz) which canbe easier to store and transmit than large amounts of raw data.

In one aspect, a plurality of sensor nodes 100 can be located (e.g.,deployed, attached, scattered, fixed) in a geographic location. As anillustration, the plurality of sensor nodes 100 can be airdropped over ageographic location (e.g., combat area, remote area), released into awater source (e.g., rive, lake, ocean), affixed to highway structures,and the like. The sensor nodes 100 can comprise a variety of sensors140. For example, each sensor node 100 can comprise the same sensors140. In another aspect, different sensor nodes 100 can comprisedifferent sensors 140. In one aspect, after deployment, the sensor nodes100 can be initialized. During initialization, the sensor nodes 100 cancollect initial sensor data from one or more of the sensors 140. Theprocessing unit 122 can be configured to select which sensors 140 of thesensor node 100 receive the strongest signal, most accurate data, mostuseful reading, and/or otherwise most appropriate information. Theprocessing unit 122 can be configured to select which sensors 140 of thesensor node 100 are best suited for a particular location at aparticular time. For example, the processing unit 122 can make suchselection based on the initial sensor data and/or other information(e.g., an instruction received from another sensor node or from acentral source). For example, the sensor nodes 100 can collect dataduring the initialization process and compare the initial sensor data toreference data. In one aspect, the sensors 140 can be selected based onthe amount of energy collected by a sensor node 100. In another aspect,sensor nodes 100 can be configured to broadcast which sensors 140 havebeen selected by the sensor node 100. Accordingly, the sensor nodes 100can disable one or more of the sensors 140 based on which sensors 140are selected by other sensor nodes 100. After selecting one or moresensors 140, the sensor node 100 can collect data from the selectedsensors 140. Additionally, sensors 140 that are not selected can bedisabled or placed in a low power mode. Furthermore, as conditionschange, the sensor nodes 100 can enable and/or disable various sensors140. These changes can be broadcast to other sensor nodes 100 causingother sensor nodes 100 to enable and/or disable sensors 140.

The device 110 can be a wireless device and can comprise a power unit114 configured to collect energy, a radio unit (e.g., communicationunit) 118 that can permit wireless communication (e.g., reception andtransmission) of information, a processing unit 122, and a control unit126 (also referred to as a controller), and memory (e.g., memory unit)130. The memory 130 can be configured to store the sensor data. In oneaspect, the radio unit 118 can comprise one or more antennas 119, atransceiver unit 120, and communication circuitry 121 suitable forprocessing wireless signal. For example, the transceiver unit 120 cancomprise a wireless transceiver. Two or more of the antenna(s) 119, thetransceiver unit 120, and the communication circuitry 121 can exchangeinformation (data, metadata, signaling) via a bus (e.g., a bus similarto bus 112). The wireless transceiver can operate in variouscommunication modes, such as single-input single-output (SISO),multiple-input multiple-output (MIMO), and/or multiple-inputmultiple-output (MISO). The wireless transceiver can communicate dataaccording to one or more standardized radio technology (e.g., WiFi),including point-to-point communication. For example, the radio unit 118can be configured to wirelessly broadcast the sensor data to one or moresensor nodes in a network of sensor nodes. As an illustration, radiounit 118 can be configured to receive sensor data from a first sensornode and transmit the sensor data from a first sensor node to a secondsensor node. The first sensor node and the second sensor node can beconfigured as nodes in a network of sensor nodes configured todistribute the sensor data among the sensor nodes.

In another aspect, the power unit 114 can comprise a capacitive energyharvesting circuit (e.g., energy storage unit) that can store energy foroperation of the device 110. The processing unit 122 can process data,converting analog information (e.g., analog signals) to digitalinformation (e.g., digital data). For example, the device 110 cancomprise an analog-to-digital converter configured to convert an analogvalue to a digital value. The analog value can comprise at least one ofa voltage measurement of the energy and the sensor data from the sensor.In one aspect, the processing unit 122 can comprise theanalog-to-digital converter. In one aspect, the memory 130 can comprisenon-volatile memory capable of, suitable for, a large number (e.g.,billion or trillion) of rewrites and long data retention times (e.g.,decades). The memory 130 can comprise information (e.g., data, metadata,or signaling, or combination thereof) received by the device 110 from atleast one of the one or more sensors 140. The memory 130 also cancomprise information received by the device 110 from a disparate device(e.g., another sensor node in a sensor network) having the structure andfunctionality of device 110 and being contained in a sensor node locatedat a specific distance from the device 110.

In certain embodiments, the processing unit 122 and the control unit 126can be integrated into a single unit having at least one processor thatcan execute computer-accessible instructions, e.g., computer-readableand computer-executable instructions, and in response control operationof the device 110 and/or process data received by the device 110. In oneaspect, processing data can comprise one or more of converting data fromanalog-to-digital, compressing data, restoring compressed data,up-converting data, down-converting data, performing combinations ofsuch operations, or the like.

In general, the processing unit 122 can comprise any computingprocessing unit or processing device comprising, but not limited to,single-core processors; single-processors with software multithreadexecution capability; multi-core processors; multi-core processors withsoftware multithread execution capability; multi-core processors withhardware multithread technology, parallel platforms; and parallelplatforms with distributed shared memory. Additionally or alternatively,a processor of the processing unit 122, or the processing unit 122itself, can refer to an integrated circuit, an application specificintegrated circuit (ASIC), a digital signal processor (DSP), a fieldprogrammable gate array (FPGA), a programmable logic controller (PLC), acomplex programmable logic device (CPLD), a discrete gate or transistorlogic, discrete hardware components, or any combination thereof designedto perform the functions described herein. Such processor or theprocessing unit 122 also can be implemented as a combination ofcomputing processing units.

As illustrated, the device 110 can include a system bus 112 that permitsexchange of information between two or more units of the device 110 andbetween a unit and memory 130. The system bus 112 can comprise one ormore of several possible types of bus structures, including a memory busor memory controller, a peripheral bus, an accelerated graphics port,and a processor or local bus using any of a variety of busarchitectures. By way of example, such architectures can comprise anIndustry Standard Architecture (ISA) bus, a Micro Channel Architecture(MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics StandardsAssociation (VESA) local bus, an Accelerated Graphics Port (AGP) bus,and a Peripheral Component Interconnects (PCI), a PCI-Express bus, aPersonal Computer Memory Card Industry Association (PCMCIA), UniversalSerial Bus (USB) and the like. It should be appreciated that the systembus 112, and all buses specified in this specification and annexeddrawings also can be implemented over a wired or wireless networkconnection and each of the units, or sub-systems, of the device 110.

The device 110 also can comprise one or more Input/Output (I/O)interface(s) (not shown) that can permit connectivity of, at least, thesensor(s) 140 and the device 110. The I/O interface(s) also permitinformation (data, metadata, signaling) input into the device 110. Forexample, in case of a sensor of the sensor(s) 140 that provide analogdata to the device 110, a suitable I/O interface of the one or more I/Ointerface(s) can include circuitry to collect the analog signal receivedfrom such sensor. Other I/O interfaces of the I/O interface(s) canpermit collection of digital data, such as an HDMI.

In one aspect, based on complexity of the device 110, the I/Ointerface(s) can comprise information a variety of input devices, suchas a camera; a keyboard; a microphone; a scanner (e.g., barcodescanner); a reader device such as a radiofrequency identification (RFID)readers or magnetic stripe readers; gesture-based input devices such astactile input devices (e.g., touch screens), speech recognition devices,or natural interfaces; and the like.

In one operation scenario, the sensor node 100 can be disabled untilsufficient energy has been stored in the power unit 114. For example,the power unit 114 can comprise a storage capacitor. The storagecapacitor can be configured to store energy. In response to sufficientenergy being available, the device 110 can receive a pulse of power. Forexample, the processing unit 122 can perform a variety of operationswhen a threshold value is reached. In one aspect, the threshold valuecan comprise a voltage value or other measurement of energy stored inthe capacitor. For example, the voltage value can be 0.01, 0.5, 1, 3, 9,12 Volts or the like. In one aspect, the threshold value can vary basedon sensor application, available power, user preferences, and the like.For example, a sensor node 100 in an area with a large amount of light(e.g., a desert) can have a lower threshold value as compared to asensor node 100 configured with a higher threshold value due to thesensor node's 100 location in an area with dense foliage or otherobstructions. The threshold value can also vary according to theoperation of the sensor node 100. For example, a sensor node 100configured to transmit a large amount of data can be configured with ahigher threshold value than a sensor node 100 configured to transmit asmall amount of data that can be configured with a lower thresholdvalue. The threshold value can vary based on the type of sensor 140being used by the sensor node 100. For example, some sensors 140 cangenerate less sensor data than other sensors 140. Accordingly, sensorsnodes 100 using sensors 140 that generate larger amount of data can havea higher threshold value than sensor nodes 100 using sensors 140 thatgenerate a smaller amount of data.

As previously mentioned, in response to sufficient energy beingavailable, the device 110 can receive a pulse of power. For the durationof such pulse (e.g., until the energy in the storage capacitor isreduced to a specific lower limit such as a threshold value) the sensornode 100, via the processing unit 122, for example, can performanalog-to-digital conversions of data received from the sensor(s) 140,retain converted data to the memory 130 (e.g., a non-volatile memory),receive data packets containing data from other sensor nodes (not shownin FIG. 1), transmit data packets containing data from the other sensornodes and at least a portion of the converted data, and/or otheroperations.

Memory 130 can comprise a variety of computer readable media. Exemplaryreadable media can be any available media that is accessible by theprocessing unit 122 and/or the control unit 126 and comprises, forexample and not meant to be limiting, both volatile and non-volatilemedia, removable and non-removable media. The memory 130 can comprisecomputer readable media in the form of volatile memory, such as randomaccess memory (RAM), and/or non-volatile memory, such as read onlymemory (ROM). In certain embodiments, the memory 130 also can comprisenon-volatile RAM, such as ferroelectric random access memory (FRAM). Inaddition to data received from the sensor(s) 140 or processed via theprocessing unit 122, the memory 130 can contain data and/or programmodules for operation of device 110 in response to execution of suchmodules. The processing unit 122 and/or the control unit 126 can executesuch program modules.

In another aspect, the memory 130 can comprise otherremovable/non-removable, volatile/non-volatile computer storage media.The memory 130 can provide non-volatile storage of computer code (e.g.,computer-executable instructions), computer-readable instructions, datastructures, program modules, and other data for operation of the device110. Depending on complexity and/or cost constraints for the device 110,the memory 130 can be a hard disk, a removable magnetic disk, aremovable optical disk, magnetic cassettes or other magnetic storagedevices, flash memory cards, optical storage, random access memories(RAM), read only memories (ROM), electrically erasable programmableread-only memory (EEPROM), and the like.

As described herein, depending on complexity of the device 110, anynumber of program modules can be stored on the memory 130, including byway of example, an operating system, data management software, and/orpower management software. Data and code (e.g., computer-executableinstruction(s)) can be retained in the memory 130 as part of the datamanagement software and/or the power management software.

Such program modules can be retained in a memory 130 as a group ofcomputer-accessible instructions, e.g., computer-readable instructions,computer-executable instructions, or computer-readablecomputer-executable instructions. In one aspect, the group ofcomputer-accessible instructions can encode the methods of thedisclosure (such as the exemplary methods illustrated in FIG. 4 throughFIG. 7). In another aspect, the group of computer-accessibleinstructions can encode various formalisms (e.g., wireless communicationprotocols) for information processing and wireless communication.Certain implementations of the data management software and/or powermanagement software can comprise a compiled instance of suchcomputer-accessible instructions, a linked instance of suchcomputer-accessible instructions, a compiled and linked instance of suchcomputer-executable instructions, or an otherwise executable instance ofthe group of computer-accessible instructions. An implementation of theoperating system, data management software, and/or power managementsoftware retained in the memory 130 or other memory elements (e.g.,buffers, caches) of the sensor node 100 can implement the describedfunctionality of the sensor node 100 in response to execution by aprocessor contained in the processing unit 122 and/or control unit 126.

In one aspect, implementation (e.g., execution by a processor) of datamanagement can permit communication strategies that can permit all ornearly all sensor nodes in a sensor network having sensor nodes havingthe structure and functionality of the sensor node 100 to have access toall information (e.g., data) available in the sensor network. In anotheraspect, implementation of power management can permit a sensor node(e.g., 100) to determine an energy budget and to plan energy consumptionby configuring the sensor node to operate at certain periods inlow-power consumption modes. In addition or in the alternative, thesensor node (e.g., 100) can schedule specific times for transmissionand/reception of data from other sensor nodes in a sensor network. Forexample, in certain embodiments, the sensor node (e.g., 100) can receiveand/or transmit at least one time over a period of several minutes(e.g., 10 minutes). In another aspect, as part of power management, thesensor node (e.g., 100), via the control unit 126, can control periodsin which the sensor node is OFF, permitting the sensor node to turn offcleanly without corrupting data that can be transmitted to other sensornodes prior to the sensor node turning off or data that can be receivedfrom other sensor nodes prior to the sensor node turning off.

The processing effected in the disclosed sensor nodes and sensornetworks formed with such nodes, systems and/or methods can be performedby software components, hardware components, and firmware componentsthat combine hardware and software. In one aspect, the certainfunctionality of the disclosed sensor nodes and methods can be describedin the general context of computer-executable instructions, such asprogram modules, being executed by one or more computing devices, suchas processing unit 122, control unit 122, transceiver unit 120,communication circuitry 121, and/or other computing devices. Generally,program modules comprise computer code, routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular abstract data types. The disclosed methods also canbe practiced in distributed computing environments-such as sensornetworks formed by deploying a plurality of sensor nodes having thestructure and functionality of sensor node 100 and in accordance withone or more aspects described herein.

The architecture of the device 110 can permit, in one aspect, operationof the device 110 even while powered by a small power source (such as asolar panel comprising solar cells configured to convert solar radiationinto electrical energy in a low-light environment) and can permit, inanother aspect, the device to remain completely or nearly completelyunpowered for long periods of time. The state in which the device 110 isnearly completely unpowered can be referred to as a dormant state. Inview of at least such aspects, device 110 can operate without batteries.Instead, the sensor node 100 can continue to operate for as long as thepower unit 114 (e.g., an energy harvesting power source) can providepower, or energize the device 110, even in scenarios in which that poweris substantially diminished.

In certain embodiments, sensor node 100 can be permanently encapsulated.Such features stems from the design of the sensor node 100. In view thatperforming maintenance (such as replacing batteries) is not necessaryduring the lifespan of the device 110, and depending on the type ofattached sensor(s) 140, the entire sensor node 100 can be permanentlyencapsulated in epoxy, glass, and/or the like at the point ofmanufacture. As an example, solid state sensors (e.g., accelerometers,compasses, gyroscopes, or the like) can be suitable for encapsulation.It should be appreciated that permanent or substantially permanentencapsulation of the sensor node 100 can render it extraordinarilyresistant to exposure to the operational environment, thus permittingoperation in harsh environments, such as open bodies of water or in thepresence of toxic and/or corrosive chemicals where maintenance isimpractical.

The sensor node 100 and sensor networks formed with a plurality ofsensor nodes such as sensor node 100 can permit various monitoringapplications. In general, such sensor network can be deployed to performany form of remote signaling or sensing. Here, the term “remote” asapplied to a remote environment refers to locations (e.g., terrestrialor extra-terrestrial) where access to a constant long-term power supplyis unavailable and/or unreliable. In urban or suburban areas, suchremote monitoring or remote sensing can comprise utility metering,especially with legacy systems which are entirely mechanical. Forexample, in certain geographic regions (e.g., certain areas in Alaska)it can be difficult to access utility meters (e.g., or other types ofmeter) to record monthly power and gas consumption, for example. Thesensor nodes (e.g., sensor node 100) described herein and/or sensornetworks comprising such sensor nodes can be attached or coupled tometers or regulators to report utility consumption for a neighborhoodwithout the need for an inspector to use a spotting scope on everysingle house or climb through deep snow to get to a meter. It should beappreciated that the lifespan of the sensor node can be comparable tothe lifespan of power and gas meters. In another aspect, in a scenarioin which a sensor (e.g., one of sensor(s) 140) contained in the sensornode (e.g., 100) is a small CMOS camera, the sensor node canautonomously perform image analysis (of various complexities, rangingfrom simple to highly complex) to visually read (e.g., via computerizedvision techniques) legacy meters autonomously. At least one benefit ofthe disclosed sensor nodes (e.g., sensor node 100) in connection withmetering application is that it would not be necessary to puncture theexterior walls of a dwelling (e.g., a house or a multi-home building)and/or modify the dwelling's electrical wiring. As an additional oralternative application, rooftop monitoring for large buildings can beimplemented via the sensor nodes and sensor networks formed with same,particularly in scenarios in which running power connections to a roofis prohibitively expensive.

In view of the features of the sensor node 100, such sensor can operatefor extended periods (e.g., years or decades) with an intermittent andunreliable energy supply, and without having batteries or any othercomponents replaced for the lifespan of the sensor. Accordingly, oneexemplary advantageous use can include deployment and operation inremote environments where inspection and maintenance is costly. Oneexample application of sensor node 100 can be monitoring of remotehighway resources and utilities. In other example applications, powerpoles, culverts, bridges, signage, guardrails, luminaries, manholes,handholes, vegetation, wildlife intrusion, and the like can be monitoredto provide information for risk assessment and maintenance scheduling.

It should be appreciated that the sensor nodes described herein, e.g.,sensor node 100, differ from traditional sensor network nodes in atleast three ways. First, there is no need to form a mesh network in theordinary sense of the word. A specific sensor node does not need to haveinformation associated with what other sensor nodes it is connected toor what other sensor nodes are available for the specific sensor node toconnect to. Each sensor node in a sensor node network can simply attemptto broadcast all or substantially all of its stored data to anylistening sensor node nearby, and can store all or substantially alldata received from nearby sensor nodes. As each sensor node maintains arecord of the most recent data from all other nodes on the network,there may be a need to transmit specific information to specific sensornetwork nodes in order for data to reach a destination. Second, dataloss can be prevented in the event the network becomes disrupted. In oneaspect, in a sensor network having sensor nodes as described herein, themost updated available data for each network node can always existsomewhere in the sensor network—even if such data exists on a singleisolated sensor node—and in response to a gap (e.g., a connectivitydisruption) in the network being filled (e.g., disruption beingremoved), the most recent data can be propagated through the sensornetwork from one or more sensor nodes having the most updated data. Thisfeature can provide self-healing information integrity. This feature canbe enabled, in certain implementations, by the utilization oflong-lifespan non-volatile memory on all wireless devices included insensor nodes, and the local storage (e.g., storage in memories includedin the wireless devices) of all network data on each and every sensornode. Third, there are no requirements placed on the source of supplypower for the sensor nodes described herein. No batteries, either fordata retention or ordinary operation, are necessary. As long as there isa supply of electrical energy, however small or sporadic, a device(e.g., 110) in a sensor node (e.g., 100) can continue to operate. Itshould be appreciated that the performance of the sensor network maydecrease as the average power supplied to the sensor nodes forming thenetwork is diminished. In one aspect, by avoiding batteries, a sensornode of the disclosure can have idealized (e.g., theoretical) lifespansthat substantively exceed electrochemically-powered alternatives.

FIG. 2A through FIG. 2E show circuit diagrams illustrating an exemplarysensor node 100 in accordance with one or more aspects of thedisclosure. In one aspect, various pins of circuit components areillustrated. For example, FIG. 2A shows an example memory 130. FIG. 2Bshows an example radio unit 118. FIG. 2C shows an example power unit114. FIG. 2D shows examples of sensors 140. As an illustration, thepower unit 114 can comprise a Panasonic 1391 Voltage Comparator. Asanother illustration, the radio unit 118 can comprise a Nordic NRF24L01transceiver. It should be noted that the antenna(s) are not illustratedin block 118 in FIG. 2B. As a further illustration, the memory 130 cancomprise a Fujitsu 64 kb FRAM (MB85RS64PNF). FIG. 2E shows example partsof a processing unit 122. As an illustration, the processing unit 122can comprise an ATMEL ATMEGA328P processing unit. In one aspect, one ormore aspects of the control unit 126 can be implemented as part of theprocessing unit 122 illustrated in FIG. 2E. For example, the processingunit 122 can comprise an ATMEL ATMEGA328P controller. In one aspect, theprocessing unit 122 can comprise a microcontroller configured forinternal or external analog and digital communication. For example, theprocessing unit 122 can comprise a Texas Instruments Stellaris M4Fmicrocontroller, or other device configured to perform floating-pointmathematical operations for complex signal analysis on sensor data. Thesensor node 100 can also comprise an external analog-to-digitalconverter and/or a digital-to-analog converter.

FIG. 3A through FIG. 3C illustrate an example application scenario for asensor network comprising a plurality of sensor nodes in accordance withone or more aspects of the disclosure. In the application scenario,sensor nodes 302 a, 302 b, 304 a, 304 b having various configurations(e.g., different types and/or structures for respective sensors) can beaffixed or mounted to remote assets, such as power poles and culverts.The illustrated sensors can form at least a portion of a sensor networkaccording to one or more aspects described herein. Initially, whilepower stored in the sensor nodes is below a predetermined threshold, thesensor nodes can store local data generated by sensors respectivelycoupled to sensor nodes. Different data types are represented bydifferent boxes with different types of lines. Data available (e.g.,retained) in a memory (e.g., memory 130) of the sensor nodes 302 a, 302b, 304 a, 304 b is represented with respective pattern-coded blocksadjacent to each sensor node. In the initial state, each sensor nodemaintains locally measured values.

At certain time intervals, e.g., periodically, in response to energystorage capacitors being charged, for example, the sensor nodes cantransmit data, or receive or listen for data. Data transmission and/orreception can be wireless (indicated with curved segments in panel 330).As time elapses, and as power units of sensor nodes charge, data can betransmitted to any sensor node within transmission range of any othernearby sensor node. It should be appreciated that transmission range canbe determined by transmission (Tx) power of a transceiver contained in asensor node. Thus, in one aspect, as energy in a power unit (e.g., unit114) of a sensor node (e.g., 100) diminishes, a control unit (e.g., unit126) of the sensor node can reduce Tx power accordingly. The receptionand storage, in a sensor node, of data from a nearby sensor node isillustrated by the accumulation of pattern-coded blocks based on thetype of data stored. For example, FIG. 3B illustrates more pattern-codedblocks than FIG. 3A, and FIG. 3C illustrates more pattern-coded blocksthan FIG. 3A or FIG. 3B. In one aspect, a culvert-based sensor node canbe adjacent, for example, to a power pole sensor node and can provide(e.g., collect, transmit, or collect and transmit) data to such powerpole sensor node. Similarly, the power pole sensor node can provide datato the culvert-based sensor node. Thus, a memory (e.g., memory 130) ofthe culvert-based sensor node can retain data comprising data originallylocally at the culvert-based sensor node and data originating at thepower pole sensor data.

As shown in FIG. 3C, after sufficient time has elapsed, all sensor nodesthat are part of the sensor network may have received data from all orsubstantially all other devices in the network. In such scenario, anagent (e.g., a passing vehicle or an agent with suitable equipment) caninterrogate (e.g., or probe) a single sensor node to collect dataassociated with the entire sensor network. Additionally oralternatively, the sensor network can contain traditionally poweredsensors (e.g., sensors having batteries) which can bridge the sensornetwork to a different type of communication network for data delivery.

In view of the aspects described hereinbefore, an exemplary method thatcan be implemented in accordance with the disclosed subject matter canbe better appreciated with reference to the flowcharts in FIG. 4 throughFIG. 7. For purposes of simplicity of explanation, the exemplary methodsdisclosed herein are presented and described as a series of blocks oracts; however, it is to be understood and appreciated that the claimedsubject matter is not limited by the order of block or acts, as someblocks or acts may occur in different orders and/or concurrently withother blocks or acts from that shown and described herein. For example,the various methods or processes of the subject disclosure canalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Furthermore, not all illustratedblocks or acts may be required to implement a method in accordance withthe subject disclosure. Further yet, two or more of the disclosedmethods or processes can be implemented in combination with each other,to accomplish one or more features or advantages herein described.

It should be further appreciated that the exemplary methods disclosedthroughout the subject specification can be stored on an article ofmanufacture, or computer-readable medium, to facilitate transporting andtransferring such methods to a computing device (e.g., a desktopcomputer, a mobile computer, a mobile telephone, a blade computer, aprogrammable logic controller, a processing unit, and the like) forexecution, and thus implementation, by a processor of the computingdevice or for storage in a memory thereof or functionally coupledthereto.

FIG. 4 is a flow chart illustrating an example method 400 for managingsensor information. In step 402, energy can be collected in an energystorage unit. For example, the energy storage unit can comprise thepower unit 114 of FIG. 1. In one aspect, the energy storage unit cancomprise a capacitor, and energy can be collected in the capacitor. Inanother aspect, the energy can be received from a solar cell configuredto convert solar radiation into electrical energy. In another aspect,energy can be collected until at least one of a threshold of energy isreached and a predetermined time elapses. In step 404, sensor data canbe received from a sensor. For example, the sensor can comprise at leastone of an accelerometer, a microphone, a color sensor, a distancesensor, a moisture sensor, a penetration sensor, and the like. In step405, at least one of a flood condition, a structure tilt, vegetationgrowth, and a pipe leak can be determined based on the sensor data. Instep 406, the sensor data can be stored in non-volatile memory. Forexample, the sensor data can be stored in ferroelectric random accessmemory (FRAM), flash memory, and the like.

In step 408, an amount of the energy of the energy storage unit can bedetected. For example, a voltage of the energy stored in the capacitorcan be detected. In step 410, the apparatus can be switched from a firstpower mode (e.g., normal operation) to a second power mode (e.g., sleepmode). In one aspect, the sensor can consume more energy in the firstpower mode than in the second power mode. In step 412, the sensor datacan be broadcasted for detection by a sensor node in a network of sensornodes. In one aspect, the sensor data can be broadcasted at a powerlevel based on the detected amount of the energy of the energy storageunit. In another aspect, and the sensor data can be broadcast through awireless transceiver.

In step 414, additional sensor data can be received from the sensornode. For example, the additional sensor data can be received from thesensor node in the network of sensor nodes. The sensor node can bewithin wireless range of the device receiving additional sensor data. Instep 416, the additional sensor data can be checked for datatransmission errors. For example, a checksum value associated with thesensor data can be evaluated. In step 418, the energy from the energystorage unit can be discharged. For example, the energy can bedischarged after the energy decreases to a minimum energy threshold. Inone aspect, the discharge of the energy from the energy storage unit cancause steps of the method 400 to be repeated.

FIG. 5 is a flowchart illustrating an example method 500 for managing asensor network. In step 502, a geographically distributed network ofsensor nodes can be provided. For example, the sensor nodes can bedistributed such that at least one of the sensor nodes is withincommunication range of another of the sensor nodes. In one aspect, atleast one of the sensor nodes can comprise a wireless transceiver, apower unit configured to collect energy, and a sensor. For example, thesensor can comprise at least one of an accelerometer, a microphone, acolor sensor, a distance sensor, a moisture sensor, a penetrationsensor, and the like. In one aspect, the at least one sensor node can bepermanently encapsulated. For example, the at least one sensor node canbe permanently encapsulated in at least one of glass, epoxy, and thelike.

In step 504, energy can be collected at the sensor nodes. In one aspect,energy can be collected at the at least one sensor node from a solarcell configured to convert solar radiation into electrical energy. Forexample, the power unit can comprise a capacitor, and the collectedenergy can be stored in a capacitor. In step 506, sensor data can bedetected at the sensor nodes. In one aspect, the sensor data can bestored in non-volatile memory. The non-volatile memory can compriseferroelectric random access memory (FRAM), flash memory, and the like.

In step 508, the sensor data can be communicated among at least aportion of the sensor nodes. For example, the sensor data can bebroadcasted by one or more of the sensor nodes. Once sensor data isreceived by one sensor node, the received sensor data can be stored atthe sensor node. Then, the sensor node can broadcast the received sensordata, which can be received by another sensor node. Accordingly, sensordata can be gradually distributed among the sensor nodes. In step 510,the sensor data can be received from at least one of the sensor nodes.For example, the sensor data can be received by a polling deviceconfigured to travel proximate to one or more of the senor nodes toreceive the sensor data.

FIGS. 6A and 6B are flowcharts of an exemplary method 600 for collectingand transmitting information at a sensor node (e.g., 100) according toone or more aspects described herein. A processing unit (e.g., 122)and/or a control unit (e.g., 126) in the sensor node can implement,e.g., execute, one or more of the subject exemplary method. In addition,certain portions of the exemplary method 600 directed to datatransmission and reception can be performed by a radio unit (e.g., 118)in the sensor node. As described herein, the information can comprisedata, metadata, signaling, or any combination thereof. It should beappreciated that while the exemplary method 600 is illustrated withreception and transmission of data, communication of other information,such as metadata or signaling, can be implemented in similar fashion.

At 602 a comparator or a watchdog time (WDT) triggers the subjectexemplary method. The WDT is a timer commonly utilized in embeddedelectronics and can restart program execution (e.g., execution ofcomputer-accessible instructions) in the event of an unexpected orunplanned delay in program execution.

At 604 it is determined if a WTD is reset condition is present. Forexample, the WTD can comprise a flag or time value stored innon-volatile memory upon startup of the sensor node. The WTD can bereset upon proper operation completion and shutdown. If the sensor nodeturns on and the WTD is still set, then the sensor node did not properlyshutdown (e.g., indicating the previous shutdown was the result of awatchdog interrupt). Accordingly, the WTD can be read to determine ifthe device shutdown properly. In the affirmative case, at 606, acomplete value of data is written to a non-volatile memory (e.g., aFRAM; memory 130) and the non-volatile memory is disabled. At 608, apower capacitor for energy harvesting in the sensor node is drained inorder to trigger a hard reset. For example an LED and/or resistor (e.g.,in series) can drain the power from the capacitor. However, any circuitcomponent or device that drains power can be used. As an illustration, a1 watt resistor can be used to drain the power. In one aspect, a hardreset is a reset where the power to the primary controller is removed bya power control circuit (e.g., instead of a reset caused by a signal tothe reset pin of the device or code that causes the controller toreset). In one aspect, cutting power to the device (e.g., the suppliedcurrent=0 amps) can provide a way to cause any inexpensivemicrocontroller or other circuit component which may not have a very lowpower power-down mode (e.g., sleep mode) to consume no power. In oneaspect, the solar panel can continue to provide current to the sensorduring the hard reset. In another aspect, the hard reset (e.g., where nopower is provided to the microcontroller and sensor devices) can occurwhen the voltage across the capacitor (e.g., which is constantly beingsupplied current by the solar panels) drops below a certain voltagethreshold (e.g., determined by the specified voltage threshold of thePanasonic 138(0/1/2) or other similar device).

In one aspect, the capacitor can be contained in a power unit (e.g.,114) of the sensor node. The terms “draining” or “burning” as utilizedin the subject disclosure refer to removal of stored electricalpotential energy. In a scenario in which it is determined that a WTD isnot present, flow is directed to 610, at which it is determined ifpremature power loss has occurred. In the affirmative case, an operationtimer is reduced. For example, the operation timer can establish timeavailable for operation of the sensor node based on power available tothe sensor node. In the negating case, a radio unit (e.g., 118) in thesensor node is initialized at 614. At 616, analog-to-digital converter(ADC) values are measured, such values can include supply voltage. Inone aspect, the ADC can convert an analog voltage or current signal intoa digital value, and can include one or more multiplexers to permitconversion of analog signals at multiple physical inputs, such asinformation inputs from a plurality of sensors. In certain embodiments,the ADC can buffer information (e.g., data, metadata, signaling) priorto the processing unit that implements (e.g., executes) the subjectexemplary method 600 measuring ADC values. In certain implementations,such processing unit can comprise or embody the ADC.

At 618, data in the non-volatile memory of the sensor node is updatedwith local information (e.g., local data) generated by one or moresensors, and a transaction number can be incremented. The localinformation obtained through the measurements at 616. At 620, it isdetermined if corrupt data is being purged. In one aspect, each sensornode can be is configured to identify when data corresponding to thesensor node has been corrupted. For example, data records can besupplied and/or associated with a unique log number to compare data tosee which data is newer. Additionally, each sensor node can beassociated with a unique number. The sensor node can determine based onthe log number and sensor node number if its data has been corrupted.For example, the sensor node can receive data having a first log numberand a first sensor node number. If the first sensor node number matchesthe sensor node number of the sensor node, the sensor node can comparethe current log number of the sensor node to the first log number. Basedon this comparison, the sensor node can identify the data as corrupt.For example, if the first log number is higher than the current lognumber, then the data can be identified as corrupt. As an illustration,if sensor node number X is has a current log number Y and another sensornode transmits data to sensor node number X with a record associatedwith sensor node X that has a log number Z, the sensor node can identifythis data as corrupt (e.g., if Z is greater than Y). When a sensor nodeidentifies corrupt data (e.g., data that originated with the sensor nodeand subsequently became corrupt) on the network, the sensor node canswitch into a new mode of operation. The sensor node can spend the nextseveral transmission cycles attempting to purge the corrupt data aboutitself from the network. For example, the sensor node can transmit apurge packet having a purge packet identifier (e.g., record number of 0)which all sensor nodes identify as a signal to reset stored data forthat particular node number. In the affirmative case, at 622 it isdetermined if purging has expired. In response to expiration, purgestatus is reset at 626 and flow directed to 628. In the alternative, inresponse to the purging not being expired, information (e.g., data)available locally to the sensor node (e.g., “own data”) is replaced witha purge command. The information available locally can be generated atthe sensor node or can be information that is retained at the sensornode but has been received from a disparate sensor node in a sensornetwork. At 636, a purge count is decremented and flow is directed to628.

At block 628, data available locally (e.g., “own data”) is transmitted.A radio unit (e.g., 118) in the sensor node that implements theexemplary method 600 can implement act 628. At 629, the sensor node canlisten—or can be configured to receive data—for a specific period (e.g.,50 ms) or until data is received. In one aspect, the data can bereceived from other sensor node(s) in a sensor network having the sensornode that listens for data. Values of the specific period can beretained in a memory of the sensor node that implements the exemplarymethod 600. In addition or in the alternative, in another aspect, acontrol unit (e.g., 126) of the sensor node can have the value of thespecific period in a buffer therein. Yet as another alternative or afurther addition, a processing unit (e.g., 122) can have the value ofthe specific period in a buffer therein. At 630, it is determined ifdata is received and, in the affirmative case, incoming data isprocessed at 632. In the negative case, if data is not received, flow isdirected to 634.

At 634, it is determined if operation timer is expired. For example, theoperation timer can count clock cycles. Based on this count of clockcycles, the sensor node can determine how long the sensor node has beenin operation. In one aspect, determining if the operation time isexpired can comprise comparing the current clock cycle (e.g., count ofclock cycles) to a pre-defined operation length and/or clock cycle. Asan illustration, if the sensor node is operating at 8 MHz and isintended to run for 8 seconds, the operation timer can expire as soon asthe operation time counts up to 64,000,000 clock cycles (e.g., 8,000,000cycles per second times 8 seconds). As described herein, expiration ofthe operation timer can signal termination of one operation cycle of thesensor node. In response to the operation timer not being expired, thesensor node can transmit further information (data, metadata, signaling,etc.). In one aspect, at 638, next stored data value(s) are transmitted.At 650, the sensor node can listen—or can be configured to receivedata—for a specific period (e.g., 3 ms). Values of the specific periodcan be retained in a memory of the sensor node that implements theexemplary method 600. In addition or in the alternative, in anotheraspect, a control unit (e.g., 126) of the sensor node can have the valueof the specific period in a buffer therein. Yet as another alternativeor a further addition, a processing unit (e.g., 122) can have the valueof the specific period in a buffer therein. At 652, it is determined ifthe data is received and, in the affirmative case, incoming data isprocessed at 660. In the alternative, in response to data not beingreceived, the sensor node is configured (e.g., switches), at 658, to alow-power consumption mode and remains in such mode for a predeterminedperiod (e.g., 50 ms or less than 50 ms). Values of the predeterminedperiod can be retained in a memory of the sensor node that implementsthe exemplary method 600. In addition or in the alternative, in anotheraspect, a control unit (e.g., 126) of the sensor node can have the valueof the predetermined period in a buffer therein. Yet as anotheralternative or a further addition, a processing unit (e.g., 122) canhave the value of the predetermined period in a buffer therein. Suchconfiguration and operation in low-power consumption is referred to“sleep mode” in which the sensor can “sleep” for the specific period.

In the alternative, in response to the operation timer being expired,supply voltage is measured at 640. In one aspect, a control unit (e.g.,126) in the sensor node can perform such measurement(s). At 642 it isdetermined if supply voltage is increased. In the affirmative case, at644, the power capacitor is drained until voltage supply is lowered to acap voltage, and the operation timer is increased. Subsequently, flow isdirected to 634. In the negative case, at 646, a complete value of datais written to a non-volatile memory (e.g., a FRAM, memory 130) and thenon-volatile memory is disabled. At 648, it is determined if datatransfer is complete. In the affirmative case, the power capacitor isdrained in order to trigger a hard reset. In the negative case, areunion packet is transmitted at 656. In one aspect, the reunion packetcan be configured facilitate communication between two sensor nodes inthe event one of the sensor nodes runs out of power before acommunication is complete. When two sensor nodes communicate, eachsensor node can be configured to send and receive a specified amount ofpackets (e.g., 256-512) to fully exchange data. In some instances, onesensor node can run out of power before all packets have been exchanged.Accordingly, the reunion packet can comprise a command that one sensornode sends to another sensor node to indicate that a power-down isimminent or other similar power information. The command can instructthe sensor node receiving the reunion packet to attempt to switch to alow power mode of operation so the energy-deficient sensor node (e.g.sensor node sending the reunion packet) can recharge. During this lowpower mode, the non-depleted sensor node (e.g., sensor node receivingthe reunion packet) can be configured to operate such that thenon-depleted sensor node does not exceed an upper voltage threshold orother similar metric indicating power usage. Both sensor nodes can beconfigured to resume transmission after a specified period of time(e.g., a time specified in the reunion packet or by hard-coded devicedesign). In one aspect, the radio unit can transmit such packet. At 666,further processing is delayed for a predetermined period and flow isdirected to 664, at which it is determined if voltage supply is greaterthan an original, or starting, voltage. In the negative case, flow isdirected to 666 and a further delay is implemented prior to performing664 another time. In the affirmative case, at 654, it is determined if areunion delay if fulfilled. In one aspect, the reunion delay cancomprise an agreed upon time that two sensor nodes will wait in a lowpower mode without transmitting or receiving in order to allow one orboth of the sensor nodes to recharge. In the negative case, at 662, thepower capacitor is drained and flow is directed to 666. In theaffirmative case, in response to the reunion delay having elapsed, flowis directed to 634.

FIG. 7 is a flowchart of an exemplary method 700 for managinginformation available (e.g., received, retained, and/or transmitted) atsensor node (e.g., 100) according to one or more aspects describedherein. A processing unit (e.g., 122) and/or a control unit (e.g., 126)in the sensor node can implement, e.g., execute, one or more of thesubject exemplary method. In addition, certain portions of the exemplarymethod 700 directed to data transmission and reception can be performedby a radio unit (e.g., 118) in the sensor node. As described herein, theinformation can comprise data, metadata, signaling, or any combinationthereof. In one embodiment, the subject exemplary method can embody orcan comprise acts 632 or acts 660. At 702 it is determined if datapasses a checksum or other methods suitable to test data integrity. Inone aspect, the data can be generated locally, via a sensor functionallycoupled to or integrated into the sensor node. In another aspect, thedata can be received from another sensor node in a sensor network. Ifthe data fails the checksum, the data may be corrupted and the exemplarymethod ends. In the alternative, at 704, it is determined if the data isa reunion, e.g., data received from one or more sensor nodes in a sensornetwork having the sensor node that implements the exemplary method 700.In response to the data being a reunion, at 706 it is determined if areunion delay is fulfilled. In the affirmative case, the exemplarymethod 700 ends. In the alternative, flow is directed to 708, at which avoltage supply is measured. A control unit (e.g., 126) in the sensornode can measure such voltage. At 710, the sensor node is configured(e.g., switches), at 658, to a low-power consumption mode and remains insuch mode for a predetermined period (e.g., 50 ms or less than 50 ms).Such configuration and operation in low-power consumption is referred to“sleep mode” in which the sensor can “sleep” for the specific period. At724, it is determined if supply voltage is increased and, in theaffirmative case, at 722, it is determined if such voltage has increasedabove an original, or initial, value. In the negative case, at 720,operation timer is increased by a predetermined amount of time and flowis directed to 706. In the affirmative case, in response to the supplyvoltage increasing above the initial voltage, flow is directed to 728 atwhich a power capacitor is drained until voltage supply is lowered to acap voltage, and the operation timer is increased. Subsequently, flow isdirected to 720.

In a negative outcome of 724, namely, in response to the supply voltagenot being increased, flow is directed to 726 at which it is determinedif the operation timer is expired. In the affirmative case, theexemplary method ends. Yet, in the negative case, flow is directed to706.

In the alternative, in response to the data not being a reunion, flow isdirected to 712, at which it is determined if data is for own sensornode. In the affirmative case, at 714, it is determined if the datanumber is greater than self number (e.g., number or identifier of thesensor node implementing the subject exemplary method). In response tothe data number not being greater than the self number, the exemplarymethod 700 ends. In response to the data number being greater than theself number, the sensor node is switched to purge mode and an expirationcounter is configured, and the exemplary method 700 ends.

In response to the data being determined to be for own sensor node, at718, sensor node number is read from non-volatile memory (e.g., FRAM;memory 130). At 730 it is determined if local data is purge data and, inthe affirmative case, a purge count in local data is decremented at 736.In one aspect, a processing unit (e.g., 122) that is contained in thesensor node can perform such decrement. In the negative case, at 732, itis determined if incoming data is newer than stored data or purge data.In response to establishing that the incoming data is not newer, theexemplary method 700 ends. Yet, in response to the incoming being newerthan stored data or purge data, at 734, stored data is replaced with theincoming data and a data hop count byte is incremented. In one aspect, aprocessing unit (e.g., 122) that is contained in the sensor node canperform such replacement and increment.

In response to performance of 736, it can be determined, at 738, if theincoming data is purge data. In the affirmative case, the exemplarymethod ends. In the negative case, at 740, it is determined if the purgeis expired and, in the affirmative case, flow is directed to 734.

It should be appreciated that implementation (e.g., execution) of theexemplary methods 400, 500, 600, and 700 can permit implementation ofdata management and power management for a sensor node (e.g., sensornode 100) in accordance with various aspects described herein.

In various embodiments, the systems and methods of the subjectdisclosure for weighing an object through, at least in part,computer-vision tracking can employ artificial intelligence (AI)techniques such as machine learning and iterative learning. Examples ofsuch techniques include, but are not limited to, expert systems, casebased reasoning. Bayesian networks, behavior based AI, neural networks,fuzzy systems, evolutionary computation (e.g., genetic algorithms),swarm intelligence (e.g., ant algorithms), and hybrid intelligentsystems (e.g., expert inference rules generated through a neural networkor production rules from statistical learning).

While the systems, devices, apparatuses, protocols, processes, andmethods have been described in connection with exemplary embodiments andspecific illustrations, it is not intended that the scope be limited tothe particular embodiments set forth, as the embodiments herein areintended in all respects to be illustrative rather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anyprotocol, procedure, process, or method set forth herein be construed asrequiring that its acts or steps be performed in a specific order.Accordingly, in the subject specification, where description of aprocess or method does not actually recite an order to be followed byits acts or steps or it is not otherwise specifically recited in theclaims or descriptions of the subject disclosure that the steps are tobe limited to a specific order, it is no way intended that an order beinferred, in any respect. This holds for any possible non-express basisfor interpretation, including: matters of logic with respect toarrangement of steps or operational flow; plain meaning derived fromgrammatical organization or punctuation; the number or type ofembodiments described in the specification or annexed drawings, or thelike.

It will be apparent to those skilled in the art that variousmodifications and variations can be made in the subject disclosurewithout departing from the scope or spirit of the subject disclosure.Other embodiments of the subject disclosure will be apparent to thoseskilled in the art from consideration of the specification and practiceof the subject disclosure as disclosed herein. It is intended that thespecification and examples be considered as non-limiting illustrationsonly, with a true scope and spirit of the subject disclosure beingindicated by the following claims.

What is claimed is:
 1. An apparatus, comprising: a power unit configuredto collect energy; a sensor unit configured to receive sensor data froma sensor; a memory unit configured to store the sensor data; acommunication unit configured to wirelessly broadcast the sensor data toone or more sensor nodes in a network of sensor nodes; and a processingunit configured to operate at least one of the sensor unit, the memoryunit, and the communication unit after the energy collected in the powerunit reaches a threshold value.
 2. The apparatus of claim 1, wherein thepower unit comprises a capacitor configured to store the energy.
 3. Theapparatus of claim 1, wherein the power unit comprises a solar cellconfigured to convert solar radiation into electrical energy.
 4. Theapparatus of claim 1, wherein the communication unit is configured toreceive sensor data from a first sensor node and transmit the sensordata from the first sensor node to a second sensor node, and wherein thefirst sensor node and the second sensor node are configured as nodes inthe network of sensor nodes, and wherein the network of sensor nodes isconfigured to distribute the sensor data among the sensor nodes.
 5. Theapparatus of claim 1, wherein the processing unit is configured tooperate at least one of the sensor unit, the memory unit, and thecommunication unit until the power unit is drained a threshold amount ofenergy.
 6. The apparatus of claim 1, wherein the sensor comprises atleast one of an accelerometer, a microphone, a color sensor, a distancesensor, a moisture sensor, and a penetration sensor, and wherein theprocessing unit is configured to determine at least one of a floodcondition based on sensor data from the moisture sensor, a structuretilt based on sensor data from the accelerometer, vegetation growthbased on sensor data from the color sensor, and a pipe leak based onsensor data from the microphone.
 7. The apparatus of claim 1, whereinthe memory unit comprises non-volatile memory configured to store thesensor data, and wherein the non-volatile memory comprises ferroelectricrandom access memory.
 8. The apparatus of claim 1, further comprising ananalog-to-digital converter configured to convert an analog value to adigital value, wherein the analog value comprises at least one of avoltage measurement of the energy and the sensor data from the sensor.9. A method for managing sensor information, comprising: collectingenergy in an energy storage unit; receiving sensor data from a sensor;storing the sensor data in non-volatile memory; broadcasting the sensordata for detection by a sensor node in a network of sensor nodes; andreceiving additional sensor data from the sensor node.
 10. The method ofclaim 9, further comprising discharging the energy from the energystorage unit after the energy decreases to a minimum energy threshold,and wherein collecting energy in the energy storage unit comprisescollecting energy until at least one of a threshold of energy is reachedand a predetermined time elapses.
 11. The method of claim 9, furthercomprising switching from a first power mode to a second power mode,wherein the sensor consumes more energy in the first power mode than inthe second power mode, and wherein collecting energy in the energystorage unit comprises collecting energy in a capacitor.
 12. The methodof claim 9, further comprising determining, based on the sensor data, atleast one of a flood condition, a structure tilt, vegetation growth, anda pipe leak.
 13. The method of claim 9, further comprising checking thesensor data for data transmission errors, wherein checking the sensordata for transmission errors comprises evaluating a checksum valueassociated with the sensor data.
 14. The method of claim 9, whereincollecting energy in the energy storage unit comprises receiving theenergy from a solar cell configured to convert solar radiation intoelectrical energy, and wherein broadcasting the sensor data fordetection by the sensor node in a network of sensor nodes comprisesbroadcasting the sensor data through a wireless transceiver.
 15. Themethod of claim 9, further comprising detecting an amount of the energyof the energy storage unit, wherein broadcasting the sensor data fordetection by a sensor node in a network of sensor nodes comprisesbroadcasting the sensor data at a power level based on the detectedamount of the energy of the energy storage unit.
 16. A method formanaging a sensor network, comprising: providing a geographicallydistributed network of sensor nodes, wherein at least one of the sensornodes comprises a wireless transceiver, a power unit configured tocollect energy, and a sensor; collecting energy at the sensor nodes;detecting sensor data at the sensor nodes; communicating the sensor dataamong at least a portion of the sensor nodes; and receiving the sensordata from at least one of the sensor nodes.
 17. The method of claim 16,wherein collecting energy at the sensor nodes comprises collectingenergy at the at least one sensor node from a solar cell configured toconvert solar radiation into electrical energy and store collectedenergy in a capacitor, and wherein the power unit comprises thecapacitor.
 18. The method of claim 16, wherein providing thegeographically distributed network of sensor nodes comprisesdistributing the sensor nodes such that at least one of the sensor nodesis within communication range of another of the sensor nodes, whereinthe at least one sensor node is permanently encapsulated in at least oneof glass and epoxy.
 19. The method of claim 16, wherein the sensorcomprises at least one of an accelerometer, a microphone, a colorsensor, a distance sensor, a moisture sensor, and a penetration sensor.20. The method of claim 16, wherein detecting the sensor data at thesensor nodes comprises storing the sensor data in non-volatile memory,and wherein the non-volatile memory comprises ferroelectric randomaccess memory.